import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Scanner;

public class TimeConverter {
    static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
    private static final Scanner SCANNER = new Scanner(System.in);

    /**
     * 将用户输入的时间字符串转换为LocalDateTime
     * @param prompt 输入提示文本（如"请输入场次时间"）
     * @return 有效的LocalDateTime对象
     */
    public static LocalDateTime inputToLocalDateTime(String prompt) {
        LocalDateTime dateTime = null;
        while (dateTime == null) {
            // 强化格式提示，明确示例
            System.out.print(prompt + "（必须格式：yyyy-MM-dd HH:mm，例如：2024-12-31 20:00）：");
            String input = SCANNER.nextLine().trim();
            try {
                dateTime = LocalDateTime.parse(input, FORMATTER);
                // 增加成功反馈
                System.out.println("时间输入成功：" + dateTime.format(FORMATTER));
            } catch (DateTimeParseException e) {
                System.out.println("输入错误！请严格按照格式输入（年份-月份-日期 小时:分钟）");
            }
        }
        return dateTime;
    }
    public static String inputTimeString(String prompt) {
        System.out.print(prompt + "（必须格式：yyyy-MM-dd HH:mm，例如：2024-12-31 20:00）：");
        String input = SCANNER.nextLine().trim();
        // 增加输入确认反馈
        System.out.println("已记录时间字符串：" + input);
        return input;
    }
}